The present invention generally relates to a digital printer and a technique for utilizing a printer, and more particularly, to a technique for realizing harmonious use of a plurality of printers which differ from one another in terms of a language interpretation capability, a network communications function, or a rendering capability, for using an underperforming printer in the same manner as a high-performance printer, or for causing a plurality of printers to complement to one another with regard to performance deficiencies.
Various languages have been developed for use in describing print commands supplied to a printer from a host computer. Of these languages, some, such as a page description language xe2x80x9cPostScript(trademark)xe2x80x9d of Adobe Systems Incorporated in the U.S., have a very versatile expression capability and are capable of freely expressing complicated graphics which cannot be described by any other language. So long as such a high-function, high-level language is employed, complicated graphics can be printed beautifully at high speed. To this end, the printer must have a function of being able to interpret and render the high-function language. However, a printer capable of interpreting a high-function language such as PostScript is more expensive than a printer capable of interpreting solely a lower-function language. In a case where there are used a plurality of printers connected to a communications network, e.g., a LAN, if printers compatible with a high-function language are selected for all the printers, a very high cost will be incurred at the time of introduction of the printers.
When a plurality of printers are connected to the network, the following problem will arise. More specifically, provided that a plurality of types of printers (e.g., page printers and serial printers) are connected to the network or that a plurality of printers produced by different manufacturers are connected to the network, the language that can be interpreted differs from printer to printer. For this reason, the user of the host computer is required to determine beforehand a printer which he desires to use and to select a language (in effect, a printer driver) suitable for the printer. However, so long as print quality is guaranteed, use of any printer poses no problems for the user. Accordingly, it is convenient for the user to utilize various printers under a unified method without consideration of the type of printer or printer driver.
In an existing communications network, e.g., the Internet, one terminal is usually assigned one IP address. Communication between network-compatible terminals, each of which has an IP address and a TCP/IP execution function, form the basis of the network.
For example, in a case where all the printers disposed in an office are to be connected to the Internet, there are many types of existing printers which cannot be directly connected to the Internet, and hence an expensive network adapter must be attached to each of these printers, resulting in a considerably large economic burden. Further, there are many types of existing printers incapable of operating with the network.
The foregoing problem may be expressed in terms of a more general problem: that is, a plurality of terminals including both network-incompatible terminals and network-compatible terminals are collected into one group (e.g., all the printers disposed in an office are collected into one group), and no existing means provides a relay function capable of connecting the entire group to a network.
With regard to a relay function related to the network, in an existing line there is provided a router which performs a relaying operation called a routing operation (e.g., selection of a communications path, data exchange between adjacent networks, and management of IP addresses of the network) for routing data transferred over the Internet to a desired terminal. However, since the router is intended to relay data between domains within the Internet, the router cannot serve as means for solving the problem, i.e., means for connecting to a network a group including network-incompatible terminals such as those mentioned previously.
A documentxe2x80x94which is supplied via WWW service over the Internet and which is written in, e.g., HTML,xe2x80x94is a composite document comprising text characters and another type of resource, such as audio, a dynamic image, or a static image, embedded into the text characters. A plurality of types of resources are incorporated into such a composite document in their respective unique file formats. For example, a character file is incorporated in a text format, a HTML format, or a file format unique to an application used for preparing the file: a static image is incorporated into a composite document in a JPEG or GIF format; and a dynamic image is incorporated into a composite document in an MPEG format.
An existing printer is provided with a mere renderer (i.e., a module for performing a rendering operation or preparing a print image of a document) corresponding to a certain printer control language. In an existing print system comprising an existing printer connected to a host computer, when a composite document such as that mentioned previously is printed, the host computer interprets the file format of each resource contained in the composite document. The host computer converts document data into data expressed in a specific printer control language understandable to the printer and transfers the thus-converted print data to the printer. The printer interprets the data expressed in the specific printer control language and prepares and prints a print image of the document.
As mentioned above, an existing printer can understand only data expressed in a specific printer control language. In a case where data regarding a composite document are printed, the host computer must interpret various file formats contained in a composite document and convert the file formats into data described in the printer control language. However, in the case of a network-compatible printer capable of being connected to a network such as the Internet, the printer has the function of following a network communications protocol such as TCP/IP. Accordingly, if the printer can interpret and print a composite document capable of being transferred according to the communications protocol, great convenience is afforded to the user.
Accordingly, an object of the present invention is to enable economic and convenient utilization of a plurality of printers which differ from one another in terms of language interpretation capability, a network communications function, and a rendering capability.
Another object of the present invention is to provide an economic technique for enabling an underperforming printer to be used in the same manner as a high-performance printer.
Yet another object of the present invention is to enable unified control of a plurality of printers capable of interpreting different languages through use of a single language.
Still another object of the present invention is to enable a printer which cannot interpret a high-function language to be used in the same manner as a printer capable of interpreting a high-function language.
A further object of the present invention is to enable free use of a plurality of printers through a simple and inexpensive scheme.
A still further object of the present invention is to enable setting of a plurality of different types of printers through use of a single printer driver.
Another object of the present invention is to enable devices which are difficult to solely connect to a network, e.g., one or more network-incompatible printer, to be connected to a network in a grouped manner.
Still another object of the present invention is to enable incorporation of network-incompatible printers into a network through a simple and inexpensive scheme.
Yet another object of the present invention is to provide a printer capable of receiving and printing a composite document containing a plurality of resources of various file formats or an environment substantially capable of realizing such a printer.
According to one aspect of the present invention, there is provided a print system comprising:
a proxy server which converts a fist print command written in a first language into a second print command written in a second language; and
at least one printer which receives the second print command from the proxy server, interprets the received command, and performs a printing operation.
In this print system, a printer is connected to a proxy server. The printer may be connected to the proxy server in any of several forms, e.g., one printer may be connected to one proxy server, or a plurality of printers may be connected to one proxy server. Alternatively, a plurality of printers may be connected to a plurality of proxy servers, or a printer may be connected to a proxy server by means of a specifically-designed cable or by means of a network. Upon receipt of a print command of a first language, e.g., PostScript, the proxy server converts the thus-received print command into a print command of a second language which the printer can interpret and sends the print command of the second language to the printer. Upon receipt of the print command of the second language, the printer interprets the print command and performs a printing operation. As a result, even if the printer cannot actually interpret the first language, from the outside the printer appears to be substantially equivalent to a printer corresponding to a first language.
Preferably, the proxy server is a printer.
According to a second aspect of the present invention, there is provided a printing method comprising:
a step of converting a first print command written in a first language into a second print command written in a second language; and
a step of transferring the thus-converted second print command to a printer capable of interpreting the second language.
According to a third aspect of the present invention, there is provided a proxy server comprising:
command conversion means for converting a first print command written in a first language into a second print command written in a second language; and
transfer means which can be connected to at least one printer and which transfers the second print command to the connected printer from the command conversion means.
According to a fourth aspect of the present invention, there is provided a proxy server which can connect a host device capable of interpreting a first language to a printer capable of interpreting a second language, the server comprising:
conversion means which receives from the printer a first status message representing a printer status written in the second language and which converts the first status message into a second status message written in the first language; and
transfer means for transferring the second status message to the host device from the conversion means.
According to a fifth aspect of the present invention, there is provided a printer comprising:
print means which performs a printing operation by interpretation of a first print command written in a first language;
conversion means which converts the first print command into a second print command written in a second language; and
transfer means which can connect the printer to at least one other printer capable of interpreting the second language and which transfers the second print command to the connected printer from the command conversion means.
In one preferred embodiment, the printer according to the present invention renders a primitive raster image by interpretation of the first print command and prepares the second print command by incorporation of the dataxe2x80x94including the raster image produced through renderingxe2x80x94into the format of the print command of the second language. For this reason, the capability of expression in the first language is utilized when another printer connected to the printer performs a printing operation. Accordingly, in a case where the first language is a high-function language such as PostScript, there is obtained a high quality print result reflecting the high expression capability.
In the foregoing embodiment, the printer according to the present invention has means for selecting the second language from a plurality of predetermined languages. In a case where another printer is newly connected to the printer, where the printer is modified, or where another printer is added to the printer, the second language is selected according to the type of thus-connected printer. Accordingly, the thus-connected printer can perform a printing operation without fail.
In the foregoing embodiment, the printer according to the present invention can be connected to a plurality of other printers and selects from the printers a printer which is to perform a printing operation. A language which the thus-selected printer can interpret is determined, and the first print command is converted into a print command of the thus-determined language. The print command is then sent to the selected printer. For example, if a print command designates a destination printer, the thus-designated printer may be selected as a printer which is to perform a printing operation. Alternatively, if no printer is specified as a destination, a desired printer may be selected from the printers remaining in a standby condition. In any event, a language corresponding to the selected printer is determined, and the print command is converted into the thus-determined language. Accordingly, the selected printer is to perform a printing operation without fail, and a plurality of printers can be controlled in a unified manner through use of a first language.
In the foregoing embodiment, the first language is a high-function language, such as PostScript, having superior image expression capability. In contrast, the second language is a low-function language having a low-function image expression capability. Accordingly, so long as there is provided at least one printer compatible with a high-function language, a print system compatible with a high-function language can be established by connection of low-function printersxe2x80x94which are not compatible with a high-level languagexe2x80x94to the high-function compatible printer.
Further, in the foregoing embodiment, the printer according to the present invention has selection means for determining whether to print data by itself or to transfer a converted command to another printer. For example, if a received print command includes a printer designated as a destination and if the destination printer is the printer itself, the printer prints data by itself. In contrast, the destination printer is another printer, a converted print command is transferred to the printer. Alternatively, in a case where the printer according to the present invention is specifically designed to print a monochrome image, the printer prints data by itself, so long as the received print command specifies a monochrome print. In contrast, if the received print command specifies a color print, another printer capable of producing a color print is selected, and a converted print command is transferred to that printer. In the latter case, for example, in a case where the printer according to the present invention is a monochrome laser printer compatible with PostScript, so long as an inexpensive color printer (e.g., a color ink-jet printer) is connected to the laser printer, a result which is substantially equivalent to that of a PostScript-compatible color printer can be obtained inexpensively.
According to a sixth aspect of the present invention, there is provided a printer which can connect a first external device capable interpreting a first language to a second external device capable of interpreting a second language, the printer comprising at least one of
first conversion and transfer means for converting information, which is written in the first language and is received from the first external device, into information written in the second language and for transferring the information written in the second language to the second external device; and
second conversion and transfer means for converting information, which is received from the second external device and is written in the second language, into information written in the first language and for transferring the information written in the first language to the first external device.
According to a seventh aspect of the present invention, there is provided a printer which can connect to a host device and another printer, the printer comprising:
a proxy server serving as proxy for another printer, in relation to the host device.
According to an eighth aspect of the present invention, there is provided a local router comprising:
network communications means which can connect to a communications network and has a plurality of network addresses representing a plurality of locations on the network and which responds to a communications message addressed to any of the plurality of network addresses; and
data transfer means which can transfer the data included in a communications message addressed to any of the plurality of network addresses to a plurality of destinations and selects destinations of the data according to the network address of the communication message.
So long as a network-incompatible device (e.g., a printer) is connected to the local router as a destination of the data, the local router performs communications processing related to the network and serves as a proxy for the network-incompatible device. The data received from the network are transferred to the network-incompatible device. From the viewpoint of the network, the network-incompatible device appears to be a network-compatible device. As mentioned above, the network-incompatible device can connect to the network.
According to a ninth aspect of the present invention, there is provided a network printer which doubles as the local router and has print processing means as at least one of the destinations of the data.
According to a tenth aspect of the present invention, there is provided a network printer which can connect to a communications network and other devices and which has all network addresses assigned to a group of devices including the network printer and other devices connected thereto, the network printer comprising:
means for relaying communication between the host and the plurality of devices pertaining to the device group, in response to communication which is sent from the host provided on the network and which includes any of all the network addresses of the devices pertaining to the device group.
With regard to the printers defined in the ninth and tenth aspects of the present invention, so long as another network-incompatible device (e.g., a printer) is connected to the network printer, the network printer performs all communications processing operations relative to the network as a proxy for another network-incompatible device, in relation to the network, and performs communications processing operations for the network printer itself relative to the network. Data are processed by the network printer or transferred to another network-incompatible device according to a communications address of the data. Accordingly, in addition to the network printer, a network-incompatible device which cannot be solely connected to the network is connected to the network as a part of a group. Although the network printer is a single physical printer, it can act as a plurality of network-compatible devices assigned a plurality of network addresses.
According to an eleventh aspect of the present invention, there is provided a network printer which receives a print request from a host over a communications network and which can process the thus-received print request in many forms, the network printer comprising means for selecting according to the detail of the received print request a mode in which the print request is processed. In the foregoing network printer, according to the details of the print request received from the host (e.g., a network address representing a device to which the print request is addressed or a port address representing an application to which the print request is addressed), a mode in which the print request is processed can be selected from a plurality of processing modes (e.g., selection of a security level, selection of paper size, selection of either a color print or a monochrome print, or selection of a printer which performs a printing operation according to the print request in a case where other printers are connected to the network printer). Accordingly, from the viewpoint of the host, a single physical printer can act as a plurality of network-compatible printers.
The foregoing characteristic functional means of the local router and that of the printer can be typically implemented by means of a computer. A computer program for operating the computer and serving as such functional means can be supplied to the computer via any of various mediums, such as a disk-type storage device, a semiconductor storage device, or a communications line.
As a matter of course, the term xe2x80x9cnetwork addressxe2x80x9d used herein implies an address for specifying a node on the network. However, attention should be paid to the fact that the term also implies information which specifies the location of a certain node within the device, a port, a process, and the type of processing. For example, according to TCP/IP protocol, an IP address processed within the layer of a network is a typical network address. However, a port number processed in the layer of a transport or an identifier processed in the layer of an application, for example, is also one type of network address used herein.
According to a twelfth aspect of the present invention, there is provided a printer comprising:
host connection means for connecting to a host;
printer connection means for connecting to another printer; and
transfer means for transferring print job data received from the host to another printer connected to the printer. The host is connected to the printer, and another printer is also connected to the printer. Accordingly, the host can utilize a plurality of printers including the printer and another printer connected thereto.
The printer according to the present invention can have network connection means which connects to a network and which communicates with a host provided on the network. As a result, the host provided on the network can also utilize another printer through the network. In short, another network-incompatible printer can be connected to the network.
The printer according to the present invention can be further provided with performance examination means for examining the performance attributes of other printers connected to the printer. As a result, the printer becomes able to manage other printers on the basis of their performances determined through examination. For example, conceivable specific management functions include the performance attribute notification function of notifying the host of the performances of other printers and that of the printer itself, all of which have been examined, or a determination and transfer function of determining which of a group of printers including the printer itself and other printers is to process the print job data received from the host, on the basis of the performances of other printers and the performance attributes of the printer itself. If the printer is provided with the performance attribute notification function, a printer driver of the host can respond to the performance attributes of the printer group. In contrast, if the printer is provided with the determination and transfer function, a printer suitable for printing a print job automatically prints a print job even if the printer driver of the host does not specify any particular printer. As a matter of course, the printer according to the present invention may also be provided with a function of transferring job data to a printer specified by the printer driver.
The printer according to the present invention may be provided with the aforementioned means from the beginning. However, the printer is not necessarily required to have those means. For example, the printer according to the present invention may be implemented by attaching an option including the foregoing means to a printer which does not have those means initially, by loading from an external medium and into a microcomputer provided within the printer a computer program for implementing the means, or by combination of an option and program loading.
In a case where the printer according to the present invention is implemented in the form of a monochrome page printer, there can be inexpensively implemented a print system capable of high-speed monochrome printing and high-speed color printing by connection of a color ink-jet printer to the monochrome page printer. In contrast, in a case where the printer according to the present invention is implemented as a printer compatible with a high expression function language, e.g., PostScript of Adobe Systems; in a case where a standard printer which is not compatible with a high expression function language is connected to the printer; and in a case where the printer according to the present invention performs a rendering operation for the standard printer, there can be inexpensively implemented a print system compatible with a high expression function language.
According to a thirteenth aspect of the present invention, there is provided a printer manager comprising:
host connection means for connecting to a host;
printer connection means for connecting to a printer; and
transfer means for transferring print job data received from the host to the connected printer. So long as a host and one or more printers are connected to the printer manager, the host can utilize the printer(s). If the printer manager is further provided with network connection means, a network-incompatible printer can be connected to the network. More preferably, the printer manager is further provided with the previously-mentioned performance examination device.
According to a fourteenth aspect of the present invention, there is provided a printer comprising:
upstream connection means for connecting to an upstream device such as a host or another printer;
downstream connection means for connecting to a downstream device such as yet another printer; and
transfer means which transfers print job data received from the upstream device to the downstream device. So long as the upstream printer is connected to the host by connecting the plurality of printers together in the form of a string, the host can utilize the plurality of printers.
Preferably, at least the furthest upstream printer can be provided with network connection means. As a result, network-incompatible printers provided downstream of the furthest upstream printer can be connected to the network.
Preferably, each of the individual printers connected in the form of a string can be provided with performance examination means so that each printer can examine the performance attributes of an adjacent printer provided downstream of the printer.
The printer may be provided with the foregoing means from the beginning. Alternatively, the printer according to the present invention may be implemented by attaching an option to a printer which does not originally have such means or by imparting the means to a printerxe2x80x94which does not originally have such meansxe2x80x94through loading of a program.
According to a fifteenth aspect of the present invention, there is provided a print system comprising a printer group including a first printer and other printers connected thereto, and a host having a printer driver for use with the first printer. The first printer comprises receiving means for receiving print job data from the host and transfer means for transferring the thus-received print job data to any of the printers provided within the printer group. According to this print system, the host can utilize printers provided within the printer group.
The first printer is preferably provided with network connection means, thereby enabling connection of the entire printer group to the network.
Preferably, the first printer has performance examination means for examining the performance attributes of other printers.
According to a sixteenth aspect of the present invention, there is provided a printer driver comprising:
means for issuing a performance attribute notification request to a printer;
means which receives the performance attribute notification request from the printer and which prepares a user interface screen according to the notified performance and displays the thus-prepared interface screen; and
means for transmitting to the printer data for which there is specified a value selected by the user on the user interface screen. The printer driver enables flexible response according to the performance attributes of a printer. Particularly, the printer driver is suitable as a printer driver for use with a first printer provided within a printer group of the print system according to the present invention.
So long as one printer driver according to the present invention is installed in the host, there is eliminated a need to install into the host a plurality of drivers, each specifically designed for a different type of printers desired to be used. The reason for this is that upon receipt of a performance attribute notification from each of the printers, as required, one printer driver according to the present invention dynamically transforms itself into a driver for each printer and performs display and setting operations.
According to a seventeenth aspect of the present invention, there is provided a printer comprising:
composite document means for receiving or generating composite document data;
a plurality of renderers which correspond to a plurality of predetermined file formats, and which render, among resources included in the composite document data, resources whose file formats correspond to one another;
an image composer which prepares a final print image by integration of rendering results produced by the plurality of renderers; and
a print engine for printing the print image.
The printer can print composite document data. Particularly, in a case where the printer is formed as a network-compatible printer capable of being connected to a network such as the Internet, a composite document to be transmitted over the network can be directly received and printed, thus yielding a considerable practical advantage.
Preferably, the printer further comprises a document analyzer. The document analyzer is connected to other devices and identifies the file format of resources included in composite document data. If the composite document data include an incompatible file format which is not compatible with any of the renderers of the printer, the document analyzer transfers a resource of the incompatible file format to another device and requests the device to render the resource. Upon receipt of a rendering result from the device, the document analyzer transfers the thus-received rendering result to the image composer or the renderer of the printer. As a result, the printer can completely print a composite document including a file format which cannot be supported by the printer of interest.
In a case where the printer has device information representing a file format capable of being rendered by another device and where the document analyzer selects a device capable of rendering a resource of incompatible file format by reference to the device information, a resource can be rendered without fail. More preferably, if the printer has means for preparing device information, the printer can cope with a change in the configuration or rendering capability of another device.
The printer may be additionally provided with a function of printing a resource of a file format which cannot be rendered by the printer, by handling the resource as a blank or by replacing the resource with a proxy image, or with a function of rendering and printing solely a resource of a file format specified by the user.
According to an eighteenth aspect of the present invention, there is provided a printer comprising:
a communications interface which connects to one or more devices in a communicable manner;
composite document means for receiving or producing composite document data;
a document analyzer which identifies the file format of resources contained in the composite document data, transfers a resource of at least one file format to a selected device provided in another device, requests the selected device to render the thus-transferred resource, and receives a rendering result from the device;
an image composer for preparing a final print image from the result of such rendering; and
a print engine for printing the print image.
Even if the printer does not have a capability of rendering a composite document, the printer can print the composite document by utilization of the rendering capability of another device. As a matter of course, the printer can be provided with several renderers compatible with different file formats. Further, so long as the printer is constituted as a network-compatible printer capable of connecting to a network such as the Internet, the printer can receive a composite document directly from the network and can utilize any of various types of devices disposed on the network, thus resulting in great practical merit.
The printer may be additionally provided with the function of printing a resource of a file format which can be rendered by neither another device nor the printer itself, by handling the resource as a blank or by replacing the resource with another suitable proxy image or with the function of rendering and printing a resource of a file format specified by the user.
According to a nineteenth aspect of the present invention, there is provided a printer server comprising:
a communications interface which connects in a communicable manner to another device including one or more printers;
composite document means for receiving or generating composite document data;
means for selecting from the device a printer which is to print the composite document data; and
a document analyzer which identifies the file format of a resource contained in the composite document data and transfers to the thus-selected printer a resource of a file format capable of being rendered by the selected printer, and which supplies to the selected printer a rendering result regarding a resource of a file format incapable of being rendered by the selected printer.
So long as the printer is used in combination with a printer server, even if the printer does not have a capability of rendering a composite document, the printer can print the composite document by utilization of the rendering capability of another device. Particularly, for example, in a case where the printer server is connected to all the printers in an office through a LAN, any of the printers can print a composite document without changing all the printers to composite-document-compatible printers.
The printer server may be implemented in the form of incorporation into the printer according to the present invention. So long as another printer is connected to the printer having the printer server incorporated therein, the printer can print the composite document by itself or can cause another printer to print a composite document. Particularly, so long as the printer is connected to a LAN, there is yielded a great practical merit.
Either of the principal constituent elements of the printer or the printer server according to the present invention; i.e., the renderer or the document analyzer, can be implemented through use of a computer provided in the printer or the printer server. A computer program used for implementing the renderer or the document analyzer can be installed or loaded into the computer from any of various types of mediums such as semiconductor memory, disk storage devices, or a communications network.
The present invention provides a print system constituted by connecting another device to the foregoing printer or printer server. The print system can be implemented in any of various forms, for example, a small-scale print system comprising a host computer connected to a printer in a one-to-one relationship, such as a LAN or WAN, or a large-scale network such as the Internet. Accordingly, the present invention finds widespread applications.